Conventionally, as one function of a disk array device, there exists a so-called snapshot function which holds an image of a logical volume (hereinafter called a source volume) which is designated at a time point when a snapshot acquisition instruction is received. The snapshot function is used to restore the source volume at a time point when data is lost due to human error or when the state of a file system at a desired time point is to be restored.
If a snapshot is acquired by the snapshot function, data which precedes data overwriting (hereinafter called previous data) is subsequently saved to a previous data save logical volume with the timing at which data is written to the source volume. That is, the difference between the source volume at the time point when the snapshot acquisition instruction is received and the current source volume is saved to the previous data save logical volume as previous data. Hence, a data image (snapshot) of the source volume at the snapshot acquisition time point can be restored by combining the data stored in the current source volume with the previous data stored in the previous data save logical volume.
A snapshot function of this kind is advantageous in that the source volume at the time point when snapshot acquisition is ordered can be restored using a smaller storage capacity in comparison with a case where the content of the source volume is stored as is.
However, if a plurality of snapshots are referenced at the same time when a snapshot is used, there is a problem in that the same data of the source volume is referenced and an access conflict in accessing the source volume is generated, resulting in a drop in access performance of the source volume. As the number of snapshots increases, access conflicts more readily occur and the access performance to the source volume drops.
Moreover, the characteristics of access to the source volume differ depending on how a snapshot is used. For example, if a snapshot is used in test processing and batch processing and the like, access to the source volume is temporary or localized and the effect on access performance also varies depending on the snapshot usage method such as in a case where all the data in the source volume is referenced such as in a usage case where the whole table is scanned in a DWH (Data Warehouse) when constructing a virtual machine environment.